// 双指针  即快慢指针
const hascycle = function(head) {
    if (!head) return false;
    let fast = head;
    let slow = head;
    while (fast && fast.next) {
        fast = fast.next.next;
        slow = slow.next;
        if (fast === slow) return true;
    }
    return false;
}

//哈希表
// const hascycle = function(head) {
//     if (!head) return false;
//     const newdata = new Map();
//     while (head) {
//         if (newdata.has(head)) return true;
//         newdata.set(head, 1);
//         head = head.next;
//     }
//     return false;
// }
let head = [3, 2, 0, -4]
console.log(hascycle(head));